#ifndef __THTTPD_H__
#define __THTTPD_H__

#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include <assert.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/sendfile.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <pthread.h>
#include <fcntl.h>
#include <unistd.h>
#include <syslog.h>
#include <sys/ipc.h>
#include <errno.h>
#include <sys/shm.h>
#include <sys/msg.h>
#include <stdbool.h>
#define NORMAL  0
#define WRONING 1
#define FATAL   2
#define SIZE 4096

// 共享内存数据结构体

struct share_stm //stm32数据结构体
{
    bool gate;
    bool gs;
    bool LD1;
    bool LD3;
    bool FAN;
    bool FIRE;
    float temp;
    float humi;
    float Vbat;   
};

struct shm_data  //modbus数据结构体
{
    bool door;     //门
    float tem;     // 温度
    float weight;  // 重量
    float in_pre;  // 内部压强
    float air_pre; // 大气压强
    float in_h2;   // 内部氢气浓度
    float out_h2;  // 外部氢气浓度
};
struct shm_data shm_data; // 共享内存结构体

struct share
{
    int id;
    struct shm_data shm_data;
    struct share_stm stm;
};
struct share *share_data;

int init_server(int _port);
int handler_msg(int sock);

#endif
